package test

import sil.GVerso;
import sil.Palabra;

class VersoTest extends GroovyTestCase
{
	void testNewVerso()
	{
		GVerso v = new GVerso("¿qué es la vida?, un frenesí")
		assert(v.palabras.size()==6)
		assert(v.silabas==9-2+1) // sílabas naturales - sinalefas (+ 1 por aguda | -1 por esdrújula)
		assert(v.asonante=='í')
		assert(v.consonante=='í')
		
		v = new GVerso("¿qué es la vida?, una ilusión")
		assert(v.palabras.size()==6)
		assert(v.silabas==10-3+1)
		assert(v.asonante=='ó')
		assert(v.consonante=='ón')

		v = new GVerso("una sombra, una ficción")
		assert(v.palabras.size()==4)
		assert(v.silabas==8-1+1)
		assert(v.asonante=='ó')
		assert(v.consonante=='ón')

		v = new GVerso("con diez cañones por banda")
		assert(v.palabras.size()==5)
		assert(v.silabas==8)
		assert(v.asonante=='áa')
		assert(v.consonante=='ánda')
	}
  
  void testPosibleSinalefa()
  {
    GVerso v = new GVerso('lo que sea')
    
    assert(v.posibleSinalefa(new Palabra('hola'), new Palabra('adiós')))
  }
  
  void testSinalefas()
  {
    // una sola palabra
    GVerso v = new GVerso('sí!')
    assert(v.sinalefas()==0)
    
    // átona + átona
    v = new GVerso('hola adiós')
    assert(v.sinalefas()==1)
  }
}